package com.qls.mt.biz.order.service;

import com.alibaba.fastjson.JSONObject;
import com.qls.core.ali.order.bookrq.request.BookRq;
import com.qls.core.ali.order.cancelrq.CancelRq;
import com.qls.core.ali.order.validaterq.request.ValidateRq;
import com.qls.core.utils.R;

/**
 * @author doyoung
 */
public interface MtOrderService {

    /**
     * 下单前校验
     *
     * @param validateRq ValidateRq
     * @return R
     */
    R validate(ValidateRq validateRq);

    /**
     * 订单预定（订单保存）
     *
     * @param bookRq BookRq
     * @return R
     */
    R book(BookRq bookRq);

    /**
     * 取消订单
     *
     * @param cancelRq
     * @return R
     */
    R cancel(CancelRq cancelRq);

    /**
     * 订单状态变更通知
     *
     * @param jsonObject
     * @return R
     */
    R callback(JSONObject jsonObject);


}
